VB掌管WebBrowser访问MSHTML成员一点经验 - 王朝网络 - wangchao.org
简便域名: wangchao.org注册登录 | 取回密码 | 设为首页 | 添加收藏 | 博客 

      购物
      汽车
      家饰
      IT业界
      自然风光
      女性
      攻略
      首饰
      生活百科
      编程
      空间
      科普

 
互联网 | 美容 | 母婴 | 健康 | 旅游 | 娱乐 | 下载 | 美食 | 旅游 | 养生 | 手机 | 数码 | 汽车 | 珠宝 | 美容 | 装修 | 
厨房 | 科普 | 动物 | 植物 | 百科 | 知道 | 词典
      网页购物汽车家饰IT业界女性首饰编程科普网店知道百科词典

        热门搜索: 珠宝 首饰 美容 数码相机 手机 PHP Mysql 购车 装修 黄山风光
 
       您好！ 您现在位于: 王朝网络 → 编程设计 → 《VB掌管WebBrowser访问MSHTML成员一点经验》返回上一页 
 
      1楼 VB掌管WebBrowser访问MSHTML成员一点经验
      -

      -
      上一帖《VB.Net之Beta2全接触(一)随心所欲窗体外》  下一帖《Engine-Collection-Class，一》
      　　VB掌管WebBrowser访问MSHTML成员虽然较VC++有限,但对大多数的应用问题不大,而且实现过程也很简单.
      　　一.在VB中使用WebBroswer控件
      　　1.在VB中使用Microsoft Internet Controls做浏览器最方便,但远不能尽WebBrowser之所能. 
      VB能够实现的一些功能如下:
      　　 >掌管WebBrowser控件实现浏览功能
      　　 >自动化IE
      　　 >捕捉IE事件
      　　 >访问DHTML对象模型
      　　但VB不能使用高级掌管接口实现例如关闭Context 
      Menu和控制下载内容等一些功能.有关用VB对IE编程的知识可以参考微软图书<<Microsoft Internet Exploer 5 
      程序设计(Programmning Internet Explorer 5)>>的相应部分.
      　　2.调用WebBrowser的ExecWB方法能实现一些额外的功能比如CUT,PASTE和SAVEAS等,包含在OLEMDID枚举表中,可以在对象浏览器中看到. 
      这样我们就可以使WebBrowser具有一些编辑功能,如: 
      　　 WebBrowser1.ExecWB OLECMDID_PASTE, OLECMDEXECOPT_DODEFAULT
      　　可以把HTML格式的内容粘贴进WebBroser中, 这样就可以方便的实现一个HTML剪贴工具,既拷贝字符,又保留格式,NotePad靠边站吧.
      　　二.访问MSHTML成员
      　　1.用VB访问DHTML模型,实现对HTML元素的操作非常简单易行.引用Micsoft HTML Object 
      Library之后就可以在对象浏览器看到包含的类及其属性方法.其中主要包含以HTML和IHTML为类名前缀的类,这些类给HTML, 
      DHTML以及脚本(VBSCRIPT, JAVASCRIPT)对象提供定义与接口. 
      在VB中我们可以用这些类来创建用于访问网页元素的对象实例.而且程序编制与写网页脚本一样简单且相似,所以可以用VBSCRIPT和JAVASCRIPT的资料作参考(本人在学习VB的这一应用时学通了DHTML),例如:微软图书<<动态超文本标识语言从入门到精通(Inside 
      Dynamic HTML)>>(一本翻译的很烂的书!). 如果掌握了VC++ 和MFC, MSDN自然也是个好去处, 
      那儿有关于MSHTML的丰富资料(虽然不能往VB里照搬,我们可以试验VB在许多方面的可行性.)
      　　2.MSHTML类库[Micsoft HTML Object Library]
      　　 
      访问MSHTML要引用MSHTML组件库.在IE5以前,这个库包含在mshtml.dll中,对IE5来说这个类型库被转移到mshtml.tlb中. 
      出于某种原因,也许在引用列表里看不到Micsoft HTML Object Library, 不过可以在文件对话框里键入类型库文件名添加引用.
      　　3.一个例子: 在使用搜索引擎(例如MSN)搜索英文网页时, 希望关键字在搜到的条目中高亮或加重显示. 
      我让WebBrowser导航到搜索页面,然后给所有的关键字都加上了<SPAN>,另外把网页上的超链接都塞进一个列表框. 
      其中的查找关键字使用IHTMLTEXTRANGE, 它用于对网页上文本的访问.
      　　部件: Microsoft Internet Controls
      　　引用: Micsoft HTML Object Library --- 参看"MSHTML类库"
      　　控件: WebBrowser1; List1; Label1; Command1
      　　属性: Command1.Caption="FIND"
      　　CODE:
      　　Dim webdoc As HTMLDocument
      　　Dim texbody As HTMLBody
      　　Dim Rng As IHTMLTxtRange
      　　' 
      ----------------------------------------------------------------------------------------
      　　Private Sub Command1_Click()
      　　'查找关键字
      　　On Error Resume Next
      　　Set texbody = webdoc.body
      　　Set Rng = texbody.createTextRange()
      　　Do While Rng.findText(Text1.Text) <> False
      　　Rng.Select
      　　Rng.pasteHTML "<span style='background:SILVER'>" + Text1.Text + 
"</span>"
      　　'
      　　'用IHTMLTxtRange的execCommand方法可以实现加粗等功能，如：
      　　'Rng.execCommand "bold"
      　　'Rng.execCommand "underline"
      　　'Rng.execCommand "italic"
      　　'参看MSDN>DHTML Reference>Command Identifers 
      　　'
      　　Rng.collapse False
      　　Loop
      　　Rng.collapse True
      　　End Sub
      　　'---------------------------------------------------------------------------------------------
      　　Private Sub Form_Load()
      　　WebBrowser1.navigate "http://search.msn.com/results.asp?q=wordlist"
      　　Text1.Text = ""
      　　End Sub
      　　'---------------------------------------------------------------------------------------------
      　　Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As 
      Variant)
      　　'将webdoc设置到被WebBrowser的Document属性返回的文挡对象中
      　　Set webdoc = WebBrowser1.document
      　　'提取超链接
      　　''定义元素集
      　　Dim Acollection As IHTMLElementCollection
      　　''设置元素集为所有的Anchor元素,用tags方法引用元素
      　　Set Acollection = webdoc.All.tags("a")
      　　''把Anchor元素转换为相应的字符串表示,用items方法引用元素
      　　For i = 0 To Acollection.length - 1
      　　 List1.AddItem Acollection.Item(i).toString
      　　Next
      　　'length属性返回元素集中元素的个数
      　　Label1.Caption = "Number of links: " + Str$(Acollection.length)
      　　End Sub
      VB掌管WebBrowser访问MSHTML成员虽然较VC++有限,但对大多数的应用问题不大,而且实现过程也很简单. 
      一.在VB中使用WebBroswer控件 1.在VB中使用Microsoft Internet 
      Controls做浏览器最方便,但远不能尽WebBrowser之所能. VB能够实现的一些功能如下: >掌管WebBrowser控件实现浏览功能 
      >自动化IE >捕捉IE事件 >访问DHTML对象模型但VB不能使用高级掌管接口实现例如关闭Context 
      Menu和控制下载内容等一些功能.有关用VB对IE编程的知识可以参考微软图书<<Microsoft Internet Exploer 5 
      程序设计(Programmning Internet Explorer 5)>>的相应部分. 
      2.调用WebBrowser的ExecWB方法能实现一些额外的功能比如CUT,PASTE和SAVEAS等,包含在OLEMDID枚举表中,可以在对象浏览器中看到. 
      这样我们就可以使WebBrowser具有一些编辑功能,如: WebBrowser1.ExecWB OLECMDID_PASTE, 
      OLECMDEXECOPT_DODEFAULT 可以把HTML格式的内容粘贴进WebBroser中, 
      这样就可以方便的实现一个HTML剪贴工具,既拷贝字符,又保留格式,NotePad靠边站吧. 二.访问MSHTML成员 
      1.用VB访问DHTML模型,实现对HTML元素的操作非常简单易行.引用Micsoft HTML Object 
      Library之后就可以在对象浏览器看到包含的类及其属性方法.其中主要包含以HTML和IHTML为类名前缀的类,这些类给HTML, 
      DHTML以及脚本(VBSCRIPT, JAVASCRIPT)对象提供定义与接口. 
      在VB中我们可以用这些类来创建用于访问网页元素的对象实例.而且程序编制与写网页脚本一样简单且相似,所以可以用VBSCRIPT和JAVASCRIPT的资料作参考(本人在学习VB的这一应用时学通了DHTML),例如:微软图书<<动态超文本标识语言从入门到精通(Inside 
      Dynamic HTML)>>(一本翻译的很烂的书!). 如果掌握了VC++ 和MFC, MSDN自然也是个好去处, 
      那儿有关于MSHTML的丰富资料(虽然不能往VB里照搬,我们可以试验VB在许多方面的可行性.) 2.MSHTML类库[Micsoft HTML 
      Object Library] 
      访问MSHTML要引用MSHTML组件库.在IE5以前,这个库包含在mshtml.dll中,对IE5来说这个类型库被转移到mshtml.tlb中. 
      出于某种原因,也许在引用列表里看不到Micsoft HTML Object Library, 不过可以在文件对话框里键入类型库文件名添加引用. 
      3.一个例子: 在使用搜索引擎(例如MSN)搜索英文网页时, 希望关键字在搜到的条目中高亮或加重显示. 
      我让WebBrowser导航到搜索页面,然后给所有的关键字都加上了<SPAN>,另外把网页上的超链接都塞进一个列表框. 
      其中的查找关键字使用IHTMLTEXTRANGE, 它用于对网页上文本的访问. 部件: Microsoft Internet Controls 
      引用: Micsoft HTML Object Library --- 参看"MSHTML类库" 控件: WebBrowser1; List1; 
      Label1; Command1 属性: Command1.Caption="FIND" CODE: Dim webdoc As 
      HTMLDocument Dim texbody As HTMLBody Dim Rng As IHTMLTxtRange ' 
      ---------------------------------------------------------------------------------------- 
      Private Sub Command1_Click() '查找关键字 On Error Resume Next Set texbody = 
      webdoc.body Set Rng = texbody.createTextRange() Do While 
      Rng.findText(Text1.Text) <> False Rng.Select Rng.pasteHTML "<span 
      style='background:SILVER'>" + Text1.Text + "</span>" ' 
      '用IHTMLTxtRange的execCommand方法可以实现加粗等功能，如： 'Rng.execCommand "bold" 
      'Rng.execCommand "underline" 'Rng.execCommand "italic" 
      '参看[url=http://msdn.microsoft.com/workshop/author/dhtml/reference/commandids.asp]MSDN>DHTML 
      Reference>Command Identifers [/url] ' Rng.collapse False Loop Rng.collapse 
      True End Sub 
      '--------------------------------------------------------------------------------------------- 
      Private Sub Form_Load() WebBrowser1.navigate 
      "[url=http://search.msn.com/results.asp?q=wordlist]http://search.msn.com/results.asp?q=wordlist[/url]" 
      Text1.Text = "" End Sub 
      '--------------------------------------------------------------------------------------------- 
      Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As 
      Variant) '将webdoc设置到被WebBrowser的Document属性返回的文挡对象中 Set webdoc = 
      WebBrowser1.document '提取超链接 ''定义元素集 Dim Acollection As 
      IHTMLElementCollection ''设置元素集为所有的Anchor元素,用tags方法引用元素 Set Acollection = 
      webdoc.All.tags("a") ''把Anchor元素转换为相应的字符串表示,用items方法引用元素 For i = 0 To 
      Acollection.length - 1 List1.AddItem Acollection.Item(i).toString Next 
      'length属性返回元素集中元素的个数 Label1.Caption = "Number of links: " + 
      Str$(Acollection.length) End Sub
       
      标签: MSHTML  VB  WebBrowser  一点  成员  掌管  经验  访问  
      上一帖《VB.Net之Beta2全接触(一)随心所欲窗体外》  下一帖《Engine-Collection-Class，一》
       
                  您可以将本页贴到其他网站
                  UBB代码HTML代码

                  　
原文出处：[url]http://www.wangchao.net.cn/bbsdetail_22507.html[/url]
VB掌管WebBrowser访问MSHTML成员虽然较VC++有限,但对大多数的应用问题不大,而且实现过程也很简单. 一.在VB中使用WebBroswer控件 1.在VB中使用Microsoft Internet Controls做浏览器最方便,但远不能尽WebBrowser之所能. VB能够实现的一些功能如下: &gt;掌管WebBrowser控件实现浏览功能 &gt;自动化IE &gt;捕捉IE事件 &gt;访问DHTML对象模型但VB不能使用高级掌管接口实现例如关闭Context Menu和控制下载内容等一些功能.有关用VB对IE编程的知识可以参考微软图书&lt;&lt;Microsoft Internet Exploer 5 程序设计(Programmning Internet Explorer 5)&gt;&gt;的相应部分. 2.调用WebBrowser的ExecWB方法能实现一些额外的功能比如CUT,PASTE和SAVEAS等,包含在OLEMDID枚举表中,可以在对象浏览器中看到. 这样我们就可以使WebBrowser具有一些编辑功能,如: WebBrowser1.ExecWB OLECMDID_PASTE, OLECMDEXECOPT_DODEFAULT 可以把HTML格式的内容粘贴进WebBroser中, 这样就可以方便的实现一个HTML剪贴工具,既拷贝字符,又保留格式,NotePad靠边站吧. 二.访问MSHTML成员 1.用VB访问DHTML模型,实现对HTML元素的操作非常简单易行.引用Micsoft HTML Object Library之后就可以在对象浏览器看到包含的类及其属性方法.其中主要包含以HTML和IHTML为类名前缀的类,这些类给HTML, DHTML以及脚本(VBSCRIPT, JAVASCRIPT)对象提供定义与接口. 在VB中我们可以用这些类来创建用于访问网页元素的对象实例.而且程序编制与写网页脚本一样简单且相似,所以可以用VBSCRIPT和JAVASCRIPT的资料作参考(本人在学习VB的这一应用时学通了DHTML),例如:微软图书&lt;&lt;动态超文本标识语言从入门到精通(Inside Dynamic HTML)&gt;&gt;(一本翻译的很烂的书!). 如果掌握了VC++ 和MFC, MSDN自然也是个好去处, 那儿有关于MSHTML的丰富资料(虽然不能往VB里照搬,我们可以试验VB在许多方面的可行性.) 2.MSHTML类库[Micsoft HTML Object Library] 访问MSHTML要引用MSHTML组件库.在IE5以前,这个库包含在mshtml.dll中,对IE5来说这个类型库被转移到mshtml.tlb中. 出于某种原因,也许在引用列表里看不到Micsoft HTML Object Library, 不过可以在文件对话框里键入类型库文件名添加引用. 3.一个例子: 在使用搜索引擎(例如MSN)搜索英文网页时, 希望关键字在搜到的条目中高亮或加重显示. 我让WebBrowser导航到搜索页面,然后给所有的关键字都加上了&lt;SPAN&gt;,另外把网页上的超链接都塞进一个列表框. 其中的查找关键字使用IHTMLTEXTRANGE, 它用于对网页上文本的访问. 部件: Microsoft Internet Controls 引用: Micsoft HTML Object Library --- 参看"MSHTML类库" 控件: WebBrowser1; List1; Label1; Command1 属性: Command1.Caption="FIND" CODE: Dim webdoc As HTMLDocument Dim texbody As HTMLBody Dim Rng As IHTMLTxtRange ' ---------------------------------------------------------------------------------------- Private Sub Command1_Click() '查找关键字 On Error Resume Next Set texbody = webdoc.body Set Rng = texbody.createTextRange() Do While Rng.findText(Text1.Text) &lt;&gt; False Rng.Select Rng.pasteHTML "&lt;span style='background:SILVER'&gt;" + Text1.Text + "&lt;/span&gt;" ' '用IHTMLTxtRange的execCommand方法可以实现加粗等功能，如： 'Rng.execCommand "bold" 'Rng.execCommand "underline" 'Rng.execCommand "italic" '参看[url=http://msdn.microsoft.com/workshop/author/dhtml/reference/commandids.asp]MSDN&gt;DHTML Reference&gt;Command Identifers [/url] ' Rng.collapse False Loop Rng.collapse True End Sub '--------------------------------------------------------------------------------------------- Private Sub Form_Load() WebBrowser1.navigate "[url=http://search.msn.com/results.asp?q=wordlist]http://search.msn.com/results.asp?q=wordlist[/url]" Text1.Text = "" End Sub '--------------------------------------------------------------------------------------------- Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) '将webdoc设置到被WebBrowser的Document属性返回的文挡对象中 Set webdoc = WebBrowser1.document '提取超链接 ''定义元素集 Dim Acollection As IHTMLElementCollection ''设置元素集为所有的Anchor元素,用tags方法引用元素 Set Acollection = webdoc.All.tags("a") ''把Anchor元素转换为相应的字符串表示,用items方法引用元素 For i = 0 To Acollection.length - 1 List1.AddItem Acollection.Item(i).toString Next 'length属性返回元素集中元素的个数 Label1.Caption = "Number of links: " + Str$(Acollection.length) End Sub

       
            　相关文章 
      • 挑战VB高手(VC也可以)---我有一个绝妙的主意，谁来实现？
      • 中国人自己的VB:HB++.（网络）应用软件的专业开发工具
      • VB_Net入门学习教程完整内容
      • [VB程序设计创新实验教程]Chap1---VB中游戏基本要素的实现方式[1]
      • VB编写DirectX简明教程
      • 用VB编写DDraw程序初步
      • 透明位图
      • 有关API字符串－－API programmer请看之二
      • VB与VC混合编程中处理消息的方法
      • 功能强大的SendMessage函数


       
      2006-01-08 16:16:10

      Magic

       
      -


 
      　更多内容
       ·Engine-Collection-Class，一种用 ·给自己的程序增加网页浏览功能（ ·给自己的程序增加网页浏览功能 ·用注册表保存数据 
      （VB函数篇）
       ·0、""(空字串)、Null、 ·编写网络寻呼机 ·ADO2.1中Bookmark 属性 ·VB6.0中通过MSChart控件调用数据
       ·几种从数据库读取数据生成excel文 ·在VB和Web页面中使用Shell对象 ·VB 程序大揭秘 ·将阿拉伯数字转成中文字
       ·用VB制作屏幕保护程序 ·Shell语句用法心得 ·用VB制作即时动态按钮 ·如何用VB建立快捷方式
       ·调用API函数设计ABOUT窗口 ·如何提高调用Window API函数编程 ·VB的API编程精粹（2） ·VB的API编程精粹（1）
       ·VB实现SQL Enterprise Manager功 ·Winsock错误代码一览表 ·VB编程经验点滴 ·修改屏保口令
 
最新评论  点此查看所有评论
 
 
 
 
发表评论(支持UBB码)



      验证码：  
 
 
© 2005-2009 王朝网络 版权所有 沪ICP备05057001号 联系我们
 站点地图


